package net.huashitong.ssydt.provider.exam.mapper;


import net.huashitong.ssydt.exam.entity.SsExamPaperQuestion;
import net.huashitong.ssydt.exam.entity.vo.PaperQuestionOutVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SsExamPaperQuestionMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SsExamPaperQuestion record);

    int insertSelective(SsExamPaperQuestion record);

    SsExamPaperQuestion selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SsExamPaperQuestion record);

    int updateByPrimaryKey(SsExamPaperQuestion record);

    List<SsExamPaperQuestion> findByPaperId(Long paperId);

    /**
     * 加载试卷题目与选项列表
     *
     * @param paperId 试卷ID
     * @return 题目与选项列表
     */
    List<PaperQuestionOutVO> listPaperQuestionsAndOptions(Long paperId);

    /**
     * 统计试卷题目数量
     *
     * @param ssExamPaperQuestion 试卷题目信息
     * @return 数目数量
     */
    int countPaperQuestion(SsExamPaperQuestion ssExamPaperQuestion);

    /**
     * 更新试卷题目顺序
     *
     * @param ssExamPaperQuestion 试卷题目信息
     * @return 影响条数
     */
    int updatePaperQuestionSequence(SsExamPaperQuestion ssExamPaperQuestion);

    /**
     * 删除试卷题目
     *
     * @param ssExamPaperQuestion 试卷题目信息
     * @return 影响条数
     */
    int deletePaperQuestion(SsExamPaperQuestion ssExamPaperQuestion);

    /**
     * 批量插入操作
     *
     * @param ssExamPaperQuestionList
     * @return
     */
    int batchInsert(List<SsExamPaperQuestion> ssExamPaperQuestionList);
}